#include "XmlSintaxException.h"

XmlSintaxException::XmlSintaxException(const string & cause, int line, int column)
{
	this->cause = cause;
	this->line = line;
	this->column = column;
}

XmlSintaxException::XmlSintaxException(const string & cause)
{
	this->cause = cause;
	this->line = -1;
	this->column = -1;
}


XmlSintaxException::~XmlSintaxException(void)
{
}

string XmlSintaxException::getMessage(void)
{
	string message = "\nError de sintaxis en: ";
	if(line != -1) { // TODO: Separar en otra excepcion, y dejar la de sintaxis con la especificacion de fila y col.
		char bufferLine[5], bufferColumn[5];
		_itoa_s(this->line, bufferLine, 10);
		_itoa_s(this->column, bufferColumn, 10);
		message.append(string("Linea: "));
		message.append(bufferLine);
		message.append(string(", Columna: "));
		message.append(bufferColumn);
	}
	message.append(".\n\tCausa: ");
	message.append(cause);
	return message;
}